package com.xiuyou.tracksdk.tracksdk.protocol;


import android.content.Context;

import com.xiuyou.tracksdk.http.ResponseParams;
import com.xiuyou.tracksdk.tracksdk.module.BaseResult;
import com.xiuyou.tracksdk.tracksdk.module.HistoryPoint;
import com.xiuyou.tracksdk.tracksdk.module.ILocation;
import com.xiuyou.tracksdk.tracksdk.module.TrackRequest;

import java.util.List;

/**
 * Created by lhy on 2016/6/13.
 */
public interface TrackProtocol {
    /**
     * 对于为一个track添加最新轨迹点。
     * @param iLocation
     * @param callBack
     */
    <T extends BaseResult> void addpoint(Context mcontext, ILocation iLocation, CallBack<T> callBack);

    /**
     * 对于track 批量上传最新轨迹点。
     * @param mcontext
     * @param iLocationList
     * @param callBack
     * @param <T>
     */
     <T extends BaseResult> void addPoints(Context mcontext, List<ILocation> iLocationList, CallBack<T> callBack);

    /**
     * 查询历史轨迹
     * @param mcontext
     * @param trackRequest
     * @param callBack
     * @param <T>
     */
     <T extends HistoryPoint> void gethistory(Context mcontext, TrackRequest trackRequest, CallBack<T> callBack);
 }
